import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
        List<List<Integer>> ret = new ArrayList<>();//相当于数组的每一个数据又是一个数组，相当于一个二维数组
        ret.add(new ArrayList<>());
        ret.get(0).add(1);//放元素
        List<Integer> ret2 = new ArrayList<>();
        ret2.add(1);
    }

    public List<List<Integer>> generate(int numRows){
        List<List<Integer>> ret = new ArrayList<>();
        List<Integer> row = new ArrayList<>();
        row.add(1);
        ret.add(row);
        //上面已经处理完第一行了，下面从第二行开始处理
        for (int i = 1; i < numRows; i++) {
            List<Integer> curRow = new ArrayList<>();
            curRow.add(1);//新的一行的第一个值
            //这里开始处理中间列
            //上一行
            List<Integer> preRow = ret.get(i-1);
            for (int j = 1; j < i; j++) {
                int x = preRow.get(j) + preRow.get(j-1);
                curRow.add(x);
            }

            curRow.add(1);

            ret.add(curRow);
        }
        return ret;
    }

}

